/**
 * Project Name:Micro-Services-Config-API
 * File Name   :Service.java
 * Package Name:com.micro.services.config.annotation
 * Date:2015-9-7上午9:23:15
 * Copyright (c) 2015, http://my.oschina.net/httpssl All Rights Reserved.
 *
*/

package com.micro.services.config.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.micro.services.config.enums.LoadBalanceType;


/**
 * 
 * ClassName:Service <br/>
 * Function :TODO ADD FUNCTION. <br/>
 * Reason	:TODO ADD REASON. <br/>
 * Date     :2015-9-7 上午9:25:59 <br/>
 * @author  :http://my.oschina.net/httpssl
 * @email   :491835898@QQ.COM
 * @since   :JDK 1.7
 * @see
 * 
 */
@Documented	
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface Service {
	/**
	 * 
	* @Title: doRegist 
	* @Description: 是否上树 
	* @param @return    设定文件 
	* @return boolean    返回类型 
	* @throws
	 */
	boolean doRegist() default false;
	/**
	 * 
	* @Title: clusterNode 
	* @Description: 是否为集群节点,意思就是是不是部署了多个节点 
	* @param @return    设定文件 
	* @return boolean    返回类型 
	* @throws
	 */
	boolean clusterNode() default false;
	/**
	 * 
	* @Title: appName 
	* @Description:  
	* @param @return    设定文件 
	* @return String    返回类型 
	* @throws
	 */
	String appName() default "";
	/**
	 * 
	* @Title: path 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param @return    设定文件 
	* @return String    返回类型 
	* @throws
	 */
	String path() default "";
	/**
	 * 
	* @Title: interfaceClass 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param @return    设定文件 
	* @return Class<?>    返回类型 
	* @throws
	 */
	Class<?> interfaceClass() default void.class;
    /**
     * 
    * @Title: interfaceName 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return    设定文件 
    * @return String    返回类型 
    * @throws
     */
    String interfaceName() default "";
    /**
     * 
    * @Title: version 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return    设定文件 
    * @return String    返回类型 
    * @throws
     */
    String version() default "";
    /**
     * 
    * @Title: loadbalanceType 
    * @Description: 负载均衡方式 默认随机 
    * @param @return  
    * @return int    返回类型 
    * @throws
     */
    LoadBalanceType loadbalanceType() default LoadBalanceType.random;
   
    
}